import request from "@/utils/request.js"

/**
 * 用户注册函数
 *
 * 该函数用于向服务器发送用户注册请求通过POST方法提交用户信息到指定的API端点
 *
 * @param {Object} data - 包含用户注册所需信息的对象，如用户名、密码、邮箱等
 * @returns {Promise} - 返回一个Promise对象，用于处理异步请求的结果
 */
export const userRegister = (data) => {
  return request.post('/user/user/register', data)
}

/**
 * 用户登录函数
 *
 * 该函数用于向服务器发送用户登录请求通过POST方法提交用户信息到指定的API端点
 *
 * @param {Object} data - 包含用户登录所需信息的对象，如用户名、密码等
 * @returns {Promise} - 返回一个Promise对象，用于处理异步请求的结果
 */
export const userLogin = (data) => {
  return request.post('/user/user/login', data)
}

/**
 * 获取用户信息
 *
 * 此函数通过发送GET请求到'/user/user/info'端点，异步获取当前用户的信息
 * 它没有参数，并返回一个Promise对象，该对象解析为用户信息的对象
 */
export const queryUserInfo = () => {
  return request.get('/user/user/info')
}

/**
 * 修改用户信息
 * @param data
 * @returns {Promise<axios.AxiosResponse<any>>}
 */
export const editUserInfo = (data) => {
  return request.put('/user/user', data)
}

/**
 * 用户退出
 */
export const userLogout = () => {
  return request.post('/user/user/logout')
}
